﻿using Lr.Templating.FluentMapping;

namespace Lr.Templating
{
    /// <summary>
    /// Defines a non generic template.
    /// </summary>
    public interface INonGenericTemplate : ITemplate
    {
        /// <summary>
        /// Maps a placeholder to a value.
        /// </summary>
        /// <param name="placeholder">The placeholder to be mapped</param>
        INonGenericTemplateMappingBuilder Map(string placeholder);

        /// <summary>
        /// Gets the template with all it's placeholders replaced by the mapped values.
        /// </summary>
        /// <returns>The with all it's placeholders replaced by the mapped values.</returns>
        string GetProcessedTemplate();
    }
}
